package com.ruoyi.system.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 评价对象 car_evaluation
 * 
 * @author ruoyi
 * @date 2025-08-14
 */
public class CarEvaluation extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 评价 ID（主键） */
    private Integer evaluationId;

    /** 订单号（外键，关联 car_corder 表，被评价的订单） */
    @Excel(name = "订单号", readConverterExp = "外=键，关联,c=ar_corder,表=，被评价的订单")
    private String orderId;

    /** 用户 ID（外键，关联 user 表，评价人） */
    @Excel(name = "用户 ID", readConverterExp = "外=键，关联,u=ser,表=，评价人")
    private Integer userId;

    /** 商家 ID（关联 car_merchant 表） */
    @Excel(name = "商家 ID", readConverterExp = "关=联,c=ar_merchant,表=")
    private Integer mId;

    /** 星级评分（1-5 星，如 5 = 非常满意） */
    @Excel(name = "星级评分", readConverterExp = "1=-5,星=，如,5=,==,非=常满意")
    private Integer starRating;

    /** 评语内容（用户输入的评价文字） */
    @Excel(name = "评语内容", readConverterExp = "用=户输入的评价文字")
    private String commentContent;

    /** 评价图片 URL（多个图片用逗号分隔，可选） */
    @Excel(name = "评价图片 URL", readConverterExp = "多=个图片用逗号分隔，可选")
    private String imgUrls;

    /** 评价时间（用户提交评价的时间） */
    @Excel(name = "评价时间", readConverterExp = "用=户提交评价的时间")
    private Date evaluationTime;

    public void setEvaluationId(Integer evaluationId) 
    {
        this.evaluationId = evaluationId;
    }

    public Integer getEvaluationId() 
    {
        return evaluationId;
    }

    public void setOrderId(String orderId) 
    {
        this.orderId = orderId;
    }

    public String getOrderId() 
    {
        return orderId;
    }

    public void setUserId(Integer userId) 
    {
        this.userId = userId;
    }

    public Integer getUserId() 
    {
        return userId;
    }

    public void setmId(Integer mId) 
    {
        this.mId = mId;
    }

    public Integer getmId() 
    {
        return mId;
    }

    public void setStarRating(Integer starRating) 
    {
        this.starRating = starRating;
    }

    public Integer getStarRating() 
    {
        return starRating;
    }

    public void setCommentContent(String commentContent) 
    {
        this.commentContent = commentContent;
    }

    public String getCommentContent() 
    {
        return commentContent;
    }

    public void setImgUrls(String imgUrls) 
    {
        this.imgUrls = imgUrls;
    }

    public String getImgUrls() 
    {
        return imgUrls;
    }

    public void setEvaluationTime(Date evaluationTime) 
    {
        this.evaluationTime = evaluationTime;
    }

    public Date getEvaluationTime() 
    {
        return evaluationTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("evaluationId", getEvaluationId())
            .append("orderId", getOrderId())
            .append("userId", getUserId())
            .append("mId", getmId())
            .append("starRating", getStarRating())
            .append("commentContent", getCommentContent())
            .append("imgUrls", getImgUrls())
            .append("evaluationTime", getEvaluationTime())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
